Skip to content

feat: 完成 Compact M1 收口并修复配置与可观测性风险#125

Closed
wynxing wants to merge 24 commits into
mainfrom
codex/compact-m1-risk-fixes
Closed

feat: 完成 Compact M1 收口并修复配置与可观测性风险#125
wynxing wants to merge 24 commits into
mainfrom
codex/compact-m1-risk-fixes

Conversation

@wynxing

@wynxing wynxing commented Apr 2, 2026

Copy link
Copy Markdown
Collaborator

变更说明

本 PR 完成 Compact M1 收口与风险修复,重点解决配置一致性、上下文压缩策略完整性、可观测性与稳定性问题。

核心改动

  • 默认启用 micro_compact(支持显式关闭)
  • 新增手动压缩策略 manual_strategy=full_replace
  • compact 流程统一走 context/compact runner,并补齐 transcript 先落盘后改写
  • transcript 命名升级为高唯一性(unix_nano + 随机后缀 + session_id
  • Unix 下 transcript 文件权限收敛为 0600
  • compact_done 事件 payload 增加 applied 字段
  • TUI 采用轻量可观测:展示 compact done/error 关键指标;micro 失败仅提示,不污染主流程错误态
  • 修复 micro_enabled=false 在配置持久化后丢失的问题,并兼容缺失字段回退默认值

文档同步

  • README.md
  • docs/config-management-detail-design.md
  • docs/runtime-provider-event-flow.md
  • docs/session-persistence-design.md
  • docs/tools-and-tui-integration.md

测试

  • 新增/更新配置、compact runner、runtime、tui 相关测试用例
  • 已运行:go test ./...(全部通过)

风险与兼容性

  • 不引入 M2/M3(prompt too long 自动重试、主动阈值触发、snip/context collapse)
  • 保持现有主链路与职责边界不变:TUI -> Runtime -> Provider/Tools

- 默认启用 micro_compact,新增 manual full_replace 策略
- 统一 compact 流程并补齐 transcript 持久化与唯一命名
- 修复 micro_enabled=false 持久化丢失问题,兼容缺失字段回退默认值
- 调整 TUI compact 轻量可观测,避免 micro 失败污染主流程错误态
- 同步配置/事件/持久化相关文档并补齐回归测试

测试:
- go test ./...
@wynxing wynxing closed this Apr 2, 2026
@wynxing wynxing deleted the codex/compact-m1-risk-fixes branch April 2, 2026 15:19
@wynxing wynxing restored the codex/compact-m1-risk-fixes branch April 2, 2026 15:20
@wynxing wynxing deleted the codex/compact-m1-risk-fixes branch April 2, 2026 15:20
@wynxing wynxing restored the codex/compact-m1-risk-fixes branch April 3, 2026 00:17
@wynxing wynxing reopened this Apr 3, 2026
- 默认启用 micro_compact,新增 manual full_replace 策略
- 统一 compact 流程并补齐 transcript 持久化与唯一命名
- 修复 micro_enabled=false 持久化丢失问题,兼容缺失字段回退默认值
- 调整 TUI compact 轻量可观测,避免 micro 失败污染主流程错误态
- 同步配置/事件/持久化相关文档并补齐回归测试

测试:
- go test ./...
@wynxing wynxing force-pushed the codex/compact-m1-risk-fixes branch from 9b58039 to 80d000b Compare April 3, 2026 00:36
@codecov

codecov Bot commented Apr 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.30769% with 92 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/context/compact/runner.go 84.21% 23 Missing and 22 partials ⚠️
internal/tui/update.go 71.42% 18 Missing and 2 partials ⚠️
internal/runtime/runtime.go 75.32% 13 Missing and 6 partials ⚠️
internal/config/model.go 85.71% 4 Missing and 4 partials ⚠️

📢 Thoughts on this report? Let us know!

wynxing and others added 18 commits April 3, 2026 09:00
- 默认启用 micro_compact,新增 manual full_replace 策略
- 统一 compact 流程并补齐 transcript 持久化与唯一命名
- 修复 micro_enabled=false 持久化丢失问题,兼容缺失字段回退默认值
- 调整 TUI compact 轻量可观测,避免 micro 失败污染主流程错误态
- 同步配置/事件/持久化相关文档并补齐回归测试

测试:
- go test ./...
@wynxing wynxing closed this Apr 3, 2026
@wynxing wynxing deleted the codex/compact-m1-risk-fixes branch April 3, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants